package proiectpcbe;

public class Producator extends Thread {

    private int nr_resurse;
    private long frecventa;
    private int cantitate_generata;
    private Resursa tipResursa;

    public Producator(Resursa tip, long frecventa, int cantitate) {
        tipResursa = tip;
        nr_resurse = 0;
        this.frecventa = frecventa;
        cantitate_generata = cantitate;
    }

    public Resursa getTip() {
        return tipResursa;
    }

    private void creeaza_resurse() {
        nr_resurse += cantitate_generata;
    }

    @Override
    public void run() {
        try {
            while (true) {
                creeaza_resurse();
                synchronized (this) {
                    wait(frecventa);
                }
            }
        } catch (InterruptedException ex) {
            System.out.println("End producator");
        }
    }

    public synchronized int da_resurse() {
        int resurse = nr_resurse;
        nr_resurse = 0;
        return resurse;
    }
}
